<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="matricula_aluno")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\MatriculaAlunoRepository")
 */
class MatriculaAluno {

    public function __construct($options = null) {
        Configurator::configure($this, $options);
    }

    /**
     * @var integer $sqMatriculaAluno
     * @ORM\Column(name="sq_matricula_aluno", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqMatriculaAluno;

    /**
     * @var bigint $sqAluno
     * @ORM\Column(name="sq_aluno", type="bigint", nullable=false)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Aluno", inversedBy="sq_pessoa")
     * @ORM\JoinColumn(name="sq_pessoa", referencedColumnName="sq_pessoa")
     */
    protected $sqAluno;
    
    /**
     * @var bigint $sqTurma
     * @ORM\Column(name="sq_turma", type="bigint", nullable=false)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Turma", inversedBy="sq_turma")
     * @ORM\JoinColumn(name="sq_turma", referencedColumnName="sq_turma")
     */
    protected $sqTurma;
    
    /**
     * @var bigint $sqSituacao
     * @ORM\Column(name="sq_situacao", type="bigint", nullable=false)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\TipoSituacaoMatricula", inversedBy="sq_tipo_situacao_matricula")
     * @ORM\JoinColumn(name="sq_tipo_situacao_matricula", referencedColumnName="sq_tipo_situacao_matricula")
     */
    protected $sqSituacao;

    /**
     * @var bigint $sqUsuario
     * @ORM\Column(name="sq_usuario", type="bigint", nullable=false)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Pessoa", inversedBy="sq_pessoa")
     * @ORM\JoinColumn(name="sq_pessoa", referencedColumnName="sq_pessoa")
     */
    protected $sqUsuario;
    
    /**
     * @var date $dtCadastro
     * @ORM\Column(name="dt_cadastro", type="date", nullable=false)
     */
    protected $dtCadastro;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=false)
     */
    protected $stAtivo;

    public function getSqMatriculaAluno() {
        return $this->sqMatriculaAluno;
    }

    public function getSqAluno() {
        return $this->sqAluno;
    }

    public function setSqAluno($sqAluno) {
        $this->sqAluno = $sqAluno;
        return $this;
    }

    public function getSqTurma() {
        return $this->sqTurma;
    }

    public function setSqTurma($sqTurma) {
        $this->sqTurma = $sqTurma;
        return $this;
    }

    public function getSqSituacao() {
        return $this->sqSituacao;
    }

    public function setSqSituacao($sqSituacao) {
        $this->sqSituacao = $sqSituacao;
        return $this;
    }

    public function getSqUsuario() {
        return $this->sqUsuario;
    }

    public function setSqUsuario($sqUsuario) {
        $this->sqUsuario = $sqUsuario;
        return $this;
    }

    public function getDtCadastro() {
        return $this->dtCadastro;
    }

    public function setDtCadastro($dtCadastro) {
        $this->dtCadastro = $dtCadastro;
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function toArray() {
        return array(
            'sqMatriculaAluno' => $this->getSqMatriculaAluno(),
            'sqAluno' => $this->getSqAluno()->getSqAluno(),
            'sqTurma' => $this->getSqTurma()->getSqTurma(),
            'sqSituacao'=>  $this->getSqSituacao()->getSqSituacao(),
            'sqUsuario'=> $this->getSqUsuario()->getSqUsuario(),
            'dtCadastro'=>  $this->getDtCadastro(),
            'stAtivo' => $this->getStAtivo()
        );
    }

}
